package cn.groupmarket.domain.trade.adapter.repository;

import cn.groupmarket.domain.trade.model.aggregate.GroupBuyOrderAggregate;
import cn.groupmarket.domain.trade.model.entity.*;
import cn.groupmarket.domain.trade.model.valobj.GroupBuyProgressVO;

public interface ITradeOrderRepository {
    MarketPayOrderEntity queryNoPayMarketPayOrderByOutTradeNo(String outTradeNo,String userId);

    GroupBuyProgressVO queryGroupBuyProgress(String teamId);

    MarketPayOrderEntity lockMarketPayOrder(GroupBuyOrderAggregate groupBuyOrderAggregate);

    GroupBuyActivityEntity queryGroupBuyActivityByActivityId(Long activityId);

    Integer queryOrderCountByActivityId(Long activityId, String userId);

}
